Detection of Control Flow Errors in Parallel Programs at Compile Time
نویسنده
چکیده
This paper describes a general technique to identify control flow errors in parallel programs, which can be automated into a compiler. The compiler builds a system of linear equations that describes the global control flow of the whole program. Solving these equations using standard techniques of linear algebra can locate a wide range of control flow bugs at compile time. This paper also describes an implementation of this control flow analysis technique in a prototype compiler for a well-known parallel programming language. In contrast to previous research in automated parallel program analysis, our technique is efficient for large programs, and does not limit the range of language features.
منابع مشابه
Automatic Detection of Uninitialized Variables
One of the most common programming errors is the use of a variable before its definition. This undefined value may produce incorrect results, memory violations, unpredictable behaviors and program failure. To detect this kind of error, two approaches can be used: compile-time analysis and run-time checking. However, compile-time analysis is far from perfect because of complicated data and contr...
متن کاملHardware error detection using AN-Codes
Due to the continuously decreasing feature sizes and the increasing complexity of integrated circuits, commercial off-the-shelf (COTS) hardware is becoming less and less reliable. However, dedicated reliable hardware is expensive and usually slower than commodity hardware. Thus, economic pressure will most likely result in the usage of unreliable COTS hardware in safety-critical systems. The us...
متن کاملLeveraging the Potential of Control-Flow Error Resilient Techniques in Multithreaded Programs
This paper presents a software-based technique to recover control-flow errors in multithreaded programs. Control-flow error recovery is achieved through inserting additional instructions into multithreaded program at compile time regarding to two dependency graphs. These graphs are extracted to model control-flow and data dependencies among basic blocks and thread interactions between different...
متن کاملA Compiler-Assisted On-Chip Assigned-Signature Control Flow Checking
As device sizes continue shrinking, lower charges are needed to activate gates, and consequently ever smaller external events (such as single ionizing particles of naturally occurring radiation) will be able to upset the correct functioning of complex modern microprocessors. Therefore, designers of future processors must take this new fact into account and should incorporate in their design fau...
متن کاملRegion Analysis: A Parallel Elimination Method for Data Flow Analysis
| Parallel data ow analysis methods ooer the promise of calculating detailed semantic information about a program at compile-time more eeciently than sequential techniques. Previous work on parallel elimination methods 1, 2] has been hampered by the lack of control over interval size; this can prohibit eeective parallel execution of these methods. To overcome this problem, we have designed the ...
متن کامل